home *** CD-ROM | disk | FTP | other *** search
- *****************************************************************************
- **
- ** $VER: gtlayout.i 26.1 (22.10.95)
- ** GadTools layout toolkit
- **
- ** Copyright © 1993-1996 by Olaf `Olsen' Barthel
- ** Freely distributable.
- **
- *****************************************************************************
- **
- ** Original assembly language header file by
- ** Clemens Resanka <Clemens.Resanka@310-72-26.st.co.at>
- **
- *****************************************************************************
- **
- ** Notes from Olaf Barthel <olsen@sourcery.han.de>:
- **
- ** HERE BE DRAGONS!
- ** Note to the casual assembly language hacker: I'll make life to you
- ** as unpleasant as possible if you use the information contained in
- ** this very document as the sole source of information on how to
- ** create programs to use gtlayout.library. Read gtlayout.doc, better
- ** still, learn a decent high level language like `C' first, then read
- ** gtlayout.doc. Do it twice, and then do it all over again one more
- ** time. And don't tell me I didn't warn you...
- **
- *****************************************************************************
-
- IFND GTLAYOUT_I
- GTLAYOUT_I EQU 1
-
- *****************************************************************************
-
- IFND EXEC_TYPES_I
- INCLUDE 'exec/types.i'
- ENDC
-
- IFND INTUITION_INTUITION_I
- INCLUDE 'intuition/intuition.i'
- ENDC
-
- IFND UTILITY_TAGITEM_I
- INCLUDE 'utility/tagitem.i'
- ENDC
-
- IFND INTUITION_GADGETCLASS_I
- INCLUDE 'intuition/gadgetclass.i'
- ENDC
-
- IFND LIBRARIES_GADTOOLS_I
- INCLUDE 'libraries/gadtools.i'
- ENDC
-
- *****************************************************************************
-
- ; PlacementTypes; where to place a gadget label
- PLACE_RIGHT EQU $0002
- PLACE_LEFT EQU $0001
- PLACE_ABOVE EQU $0004
- PLACE_IN EQU $0008
- PLACE_BELOW EQU $0010
-
- ; AlignmentTypes; how to align text lines in BOX_KIND gadgets
- ALIGNTEXT_LEFT EQU $0000
- ALIGNTEXT_CENTERED EQU $0001
- ALIGNTEXT_RIGHT EQU $0002
- ALIGNTEXT_PAD EQU $0003
-
- ; TapeDeckButtonTypes; button images available for TAPEDECK_KIND gadgets
- TDBT_BACKWARD EQU $0001
- TDBT_FORWARD EQU $0002
- TDBT_PREVIOUS EQU $0004
- TDBT_NEXT EQU $0008
- TDBT_STOP EQU $0010
- TDBT_PAUSE EQU $0020
- TDBT_RECORD EQU $0030
- TDBT_REWIND EQU $0040
- TDBT_EJECT EQU $0080
- TDBT_PLAY EQU $0100
- TDBTLAST EQU $0200
-
- ; How to align the window opened by LT_Build on the screen
- BITDEF ALIGNF,RIGHT,0
- BITDEF ALIGNF,LEFT,1
- BITDEF ALIGNF,TOP,2
- BITDEF ALIGNF,BOTTOM,3
- BITDEF ALIGNF,EXTRA_RIGHT,4
- BITDEF ALIGNF,EXTRA_LEFT,5
- BITDEF ALIGNF,EXTRA_TOP,6
- BITDEF ALIGNF,EXTRA_BOTTOM,7
-
- *****************************************************************************
-
- ; Generic tags, applicable for several object types
- LA_Chars EQU TAG_USER+2
- LA_LabelPlace EQU TAG_USER+3
- LA_ExtraSpace EQU TAG_USER+4
- LA_NoKey EQU TAG_USER+30
- LA_HighLabel EQU TAG_USER+31
- LA_LabelText EQU TAG_USER+37
- LA_LabelID EQU TAG_USER+38
- LA_ID EQU TAG_USER+39
- LA_Type EQU TAG_USER+40
- LA_PageSelector EQU TAG_USER+79
- LA_LabelChars EQU TAG_USER+107
-
- ; Storage type tags
- LA_BYTE EQU TAG_USER+63
- LA_UBYTE EQU TAG_USER+64
- LA_WORD EQU TAG_USER+65
- LA_BOOL EQU TAG_USER+65
- LA_UWORD EQU TAG_USER+66
- LA_LONG EQU TAG_USER+67
- LA_ULONG EQU TAG_USER+68
- LA_STRPTR EQU TAG_USER+69
- LA_FRACTION EQU TAG_USER+68
-
- ; For use with LT_GetAttributes() only
- LA_Left EQU TAG_USER+16
- LA_Top EQU TAG_USER+17
- LA_Width EQU TAG_USER+18
- LA_Height EQU TAG_USER+19
- LA_LabelLeft EQU TAG_USER+114
- LA_LabelTop EQU TAG_USER+115
-
- ; BOOPSI_KIND
- LABO_TagCurrent EQU TAG_USER+119
- LABO_TagTextAttr EQU TAG_USER+120
- LABO_TagDrawInfo EQU TAG_USER+121
- LABO_TagLink EQU TAG_USER+129
- LABO_TagScreen EQU TAG_USER+132
- LABO_Link EQU LALV_Link
- LABO_ClassInstance EQU TAG_USER+122
- LABO_ClassName EQU TAG_USER+123
- LABO_ClassLibraryName EQU TAG_USER+124
- LABO_ExactWidth EQU TAG_USER+127
- LABO_ExactHeight EQU TAG_USER+128
- LABO_RelFontHeight EQU TAG_USER+131
- LABO_Object EQU TAG_USER+133
- LABO_FullWidth EQU TAG_USER+135
- LABO_FullHeight EQU TAG_USER+136
- LABO_ActivateHook EQU TAG_USER+141
-
- ; BOX_KIND
- LABX_Labels EQU TAG_USER+12
- LABX_Lines EQU TAG_USER+13
- LABX_Rows EQU TAG_USER+1
- LABX_Index EQU TAG_USER+14
- LABX_Text EQU TAG_USER+15
- LABX_AlignText EQU TAG_USER+27
- LABX_DrawBox EQU TAG_USER+11
- LABX_FirstLabel EQU TAG_USER+44
- LABX_LastLabel EQU TAG_USER+45
- LABX_ReserveSpace EQU TAG_USER+72
- LABX_LabelTable EQU TAG_USER+98
- LABX_FirstLine EQU TAG_USER+152
- LABX_LastLine EQU TAG_USER+153
-
- ; BUTTON_KIND
- LABT_ReturnKey EQU TAG_USER+34
- LABT_EscKey EQU TAG_USER+56
- LABT_ExtraFat EQU TAG_USER+29
- LABT_Lines EQU TAG_USER+140
- LABT_FirstLine EQU TAG_USER+44
- LABT_LastLine EQU TAG_USER+45
- LABT_DefaultCorrection EQU TAG_USER+145
- LABT_Smaller EQU TAG_USER+147
-
- ; CYCLE_KIND
- LACY_FirstLabel EQU TAG_USER+44
- LACY_LastLabel EQU TAG_USER+45
- LACY_LabelTable EQU TAG_USER+98
- LACY_AutoPageID EQU TAG_USER+103
- LACY_TabKey EQU TAG_USER+118
-
- ; FRACTION_KIND
- LAFC_MaxChars EQU TAG_USER+20
- LAFC_Number EQU TAG_USER+21
- LAFC_LastGadget EQU TAG_USER+28
- LAFC_Min EQU TAG_USER+23
- LAFC_Max EQU TAG_USER+24
- LAFC_HistoryLines EQU TAG_USER+59
- LAFC_HistoryHook EQU TAG_USER+80
- LAFC_Activate EQU TAG_USER+148
-
- ; FRAME_KIND
- LAFR_InnerWidth EQU TAG_USER+9
- LAFR_InnerHeight EQU TAG_USER+10
- LAFR_DrawBox EQU TAG_USER+11
- LAFR_RefreshHook EQU TAG_USER+117
- LAFR_GenerateEvents EQU TAG_USER+155
-
- ; GAUGE_KIND
- LAGA_Percent EQU TAG_USER+36
- LAGA_InfoLength EQU TAG_USER+70
- LAGA_InfoText EQU TAG_USER+71
- LAGA_NoTicks EQU TAG_USER+143
- LAGA_Discrete EQU TAG_USER+144
- LAGA_Tenth EQU TAG_USER+144
-
- ; INTEGER_KIND
- LAIN_LastGadget EQU TAG_USER+28
- LAIN_Min EQU TAG_USER+23
- LAIN_Max EQU TAG_USER+24
- LAIN_UseIncrementers EQU TAG_USER+57
- LAIN_Incrementers EQU TAG_USER+57
- LAIN_HistoryLines EQU TAG_USER+59
- LAIN_HistoryHook EQU TAG_USER+80
- LAIN_IncrementerHook EQU TAG_USER+85
- LAIN_Activate EQU TAG_USER+148
-
- ; LISTVIEW_KIND
- LALV_ExtraLabels EQU TAG_USER+26
- LALV_Labels EQU TAG_USER+33
- LALV_CursorKey EQU TAG_USER+35
- LALV_Lines EQU TAG_USER+1
- LALV_Link EQU TAG_USER+7
- LALV_FirstLabel EQU TAG_USER+44
- LALV_LastLabel EQU TAG_USER+45
- LALV_MaxGrowX EQU TAG_USER+77
- LALV_MaxGrowY EQU TAG_USER+78
- LALV_LabelTable EQU TAG_USER+98
- LALV_LockSize EQU TAG_USER+106
- LALV_ResizeX EQU TAG_USER+109
- LALV_ResizeY EQU TAG_USER+110
- LALV_MinChars EQU TAG_USER+111
- LALV_MinLines EQU TAG_USER+112
- LALV_FlushLabelLeft EQU TAG_USER+113
- LALV_TextAttr EQU TAG_USER+138
- LALV_AutoPageID EQU TAG_USER+103
-
- ; LEVEL_KIND
- LAVL_Min EQU GTSL_Min
- LAVL_Max EQU GTSL_Max
- LAVL_Level EQU GTSL_Level
- LAVL_LevelFormat EQU GTSL_LevelFormat
- LAVL_LevelPlace EQU GTSL_LevelPlace
- LAVL_DispFunc EQU GTSL_DispFunc
- LAVL_FullCheck EQU LASL_FullCheck
-
- ; MX_KIND
- LAMX_FirstLabel EQU TAG_USER+44
- LAMX_LastLabel EQU TAG_USER+45
- LAMX_LabelTable EQU TAG_USER+98
- LAMX_TabKey EQU TAG_USER+118
- LAMX_AutoPageID EQU TAG_USER+103
-
- ; PALETTE_KIND
- LAPA_SmallPalette EQU TAG_USER+32
- LAPA_Lines EQU LA_Lines
- LAPA_UsePicker EQU TAG_USER+137
- LAPA_Picker EQU TAG_USER+137
-
- ; PASSWORD_KIND
- LAPW_String EQU GTST_String
- LAPW_LastGadget EQU TAG_USER+28
- LAPW_HistoryLines EQU TAG_USER+59
- LAPW_HistoryHook EQU TAG_USER+80
- LAPW_Activate EQU TAG_USER+148
-
- ; POPUP_KIND
- LAPU_FirstLabel EQU TAG_USER+44
- LAPU_LastLabel EQU TAG_USER+45
- LAPU_LabelTable EQU TAG_USER+98
- LAPU_AutoPageID EQU TAG_USER+103
- LAPU_TabKey EQU TAG_USER+118
- LAPU_Labels EQU GTCY_Labels
- LAPU_Active EQU GTCY_Active
-
- ; SLIDER_KIND
- LASL_FullCheck EQU TAG_USER+22
-
- ; SCROLLER_KIND
- LASC_Thin EQU TAG_USER+62
-
- ; STRING_KIND
- LAST_LastGadget EQU TAG_USER+28
- LAST_Link EQU TAG_USER+7
- LAST_Picker EQU TAG_USER+5
- LAST_UsePicker EQU TAG_USER+5
- LAST_HistoryLines EQU TAG_USER+59
- LAST_HistoryHook EQU TAG_USER+80
- LAST_CursorPosition EQU TAG_USER+105
- LAST_Activate EQU TAG_USER+148
-
- ; TAB_KIND
- LATB_FirstLabel EQU TAG_USER+44
- LATB_LastLabel EQU TAG_USER+45
- LATB_LabelTable EQU TAG_USER+98
- LATB_AutoPageID EQU TAG_USER+103
- LATB_TabKey EQU TAG_USER+118
- LATB_Labels EQU GTCY_Labels
- LATB_Active EQU GTCY_Active
- LATB_FullWidth EQU TAG_USER+149
- LATB_FullSize EQU TAG_USER+149
-
- ; TAPEDECK_KIND
- LATD_ButtonType EQU TAG_USER+86
- LATD_Toggle EQU TAG_USER+87
- LATD_Pressed EQU TAG_USER+88
- LATD_Smaller EQU TAG_USER+89
- LATD_Tick EQU TAG_USER+139
-
- ; TEXT_KIND
- LATX_Picker EQU TAG_USER+5
- LATX_UsePicker EQU TAG_USER+5
- LATX_LockSize EQU TAG_USER+106
-
- ; VERTICAL_KIND, HORIZONTAL_KIND
- LAGR_Spread EQU TAG_USER+6
- LAGR_SameSize EQU TAG_USER+8
- LAGR_LastAttributes EQU TAG_USER+46
- LAGR_ActivePage EQU TAG_USER+58
- LAGR_Frame EQU TAG_USER+104
- LAGR_IndentX EQU TAG_USER+130
- LAGR_IndentY EQU TAG_USER+134
- LAGR_NoIndent EQU TAG_USER+146
- LAGR_SameWidth EQU TAG_USER+150
- LAGR_SameHeight EQU TAG_USER+151
-
- ; XBAR_KIND
- LAXB_FullSize EQU TAG_USER+50
- LAXB_FullWidth EQU TAG_USER+50
-
- ; Applicable for layout handle only
- LAHN_Font EQU TAG_USER+41
- LAHN_AutoActivate EQU TAG_USER+42
- LAHN_LocaleHook EQU TAG_USER+4
- LAHN_CloningPermitted EQU TAG_USER+61
- LAHN_EditHook EQU TAG_USER+74
- LAHN_ExactClone EQU TAG_USER+75
- LAHN_MenuGlyphs EQU TAG_USER+76
- LAHN_Parent EQU TAG_USER+83
- LAHN_BlockParent EQU TAG_USER+84
- LAHN_SimpleClone EQU TAG_USER+90
- LAHN_ExitFlush EQU TAG_USER+108
- LAHN_UserData EQU TAG_USER+116
- LAHN_RawKeyFilter EQU TAG_USER+142
-
- ; Applicable for menus only
- LAMN_FirstLabel EQU LABX_FirstLabel
- LAMN_LastLabel EQU LABX_LastLabel
- LAMN_LabelTable EQU TAG_USER+98
- LAMN_TitleText EQU TAG_USER + 17000
- LAMN_TitleID EQU TAG_USER + 17001
- LAMN_ItemText EQU TAG_USER + 17002
- LAMN_ItemID EQU TAG_USER + 17003
- LAMN_SubText EQU TAG_USER + 17004
- LAMN_SubID EQU TAG_USER + 17005
- LAMN_KeyText EQU TAG_USER + 17006
- LAMN_KeyID EQU TAG_USER + 17007
- LAMN_CommandText EQU TAG_USER + 17008
- LAMN_CommandID EQU TAG_USER + 17009
- LAMN_MutualExclude EQU TAG_USER + 17010
- LAMN_UserData EQU TAG_USER + 17011
- LAMN_Disabled EQU TAG_USER + 17012
- LAMN_CheckIt EQU TAG_USER + 17013
- LAMN_Checked EQU TAG_USER + 17014
- LAMN_Toggle EQU TAG_USER + 17015
- LAMN_Code EQU TAG_USER + 17016
- LAMN_Qualifier EQU TAG_USER + 17017
- LAMN_Char EQU TAG_USER + 17018
- LAMN_ID EQU TAG_USER + 17019
- LAMN_AmigaGlyph EQU TAG_USER + 17020
- LAMN_CheckmarkGlyph EQU TAG_USER + 17021
- LAMN_Error EQU TAG_USER + 17022
- LAMN_Screen EQU TAG_USER + 17023
- LAMN_TextAttr EQU TAG_USER + 17024
- LAMN_LayoutHandle EQU TAG_USER + 17025
- LAMN_Handle EQU TAG_USER + 17025
- LAMN_ExtraSpace EQU TAG_USER + 17026
-
- ; Applicable for window only
- LAWN_Menu EQU TAG_USER+25
- LAWN_UserPort EQU TAG_USER+47
- LAWN_Left EQU TAG_USER+48
- LAWN_Top EQU TAG_USER+49
- LAWN_Zoom EQU TAG_USER+50
- LAWN_MaxPen EQU TAG_USER+52
- LAWN_BelowMouse EQU TAG_USER+53
- LAWN_MoveToWindow EQU TAG_USER+54
- LAWN_AutoRefresh EQU TAG_USER+55
- LAWN_HelpHook EQU TAG_USER+73
- LAWN_Parent EQU TAG_USER+81
- LAWN_BlockParent EQU TAG_USER+82
- LAWN_SmartZoom EQU TAG_USER+91
- LAWN_Title EQU TAG_USER+92
- LAWN_TitleText EQU TAG_USER+92
- LAWN_Bounds EQU TAG_USER+93
- LAWN_ExtraWidth EQU TAG_USER+94
- LAWN_ExtraHeight EQU TAG_USER+95
- LAWN_IDCMP EQU TAG_USER+96
- LAWN_AlignWindow EQU TAG_USER+97
- LAWN_TitleID EQU TAG_USER+99
- LAWN_FlushLeft EQU TAG_USER+14000
- LAWN_FlushTop EQU TAG_USER+14001
- LAWN_Show EQU TAG_USER+14002
- LAWN_MenuTemplate EQU TAG_USER+14003
- LAWN_MenuTags EQU TAG_USER+14004
-
- ; Private tags; do not use, or you'll run into trouble!
- LA_Private1 EQU TAG_USER+100
- LA_Private2 EQU TAG_USER+101
-
- *****************************************************************************
-
- ; Identifies the absence of a link for a listview or a string gadget
- NIL_LINK EQU -2
-
- *****************************************************************************
-
- * String gadget type history hook support: you will either get
- * the following value passed as the message parameter to your
- * hook function, or a pointer to a null-terminated string you should
- * copy and create a Node from, which you should then add to the tail
- * of your history list. Place a pointer to your history list in the
- * Hook.h_Data entry.
-
- HISTORYHOOK_DISCARD_OLDEST EQU 0 ; Discard oldest entry
-
- *****************************************************************************
-
- * Incrementer hook support: you will get the current value
- * passed as the object and one of the following values as
- * the message. Return the number to be used.
-
- ;IncrementerMsgTypes
- INCREMENTERMSG_DECREMENT EQU -1 ;Decrement value
- INCREMENTERMSG_INITIAL EQU 0 ;Initial value passed upon gadget creation
- INCREMENTERMSG_INCREMENT EQU 1 ;Increment value
-
- *****************************************************************************
-
- * Help key hook support: the hook will be called with a "STRUCTURE IBox *"
- * as the object and a "STRUCTURE HelpMsg *". The IBox describes the object
- * the mouse was positioned over, such as a button, a listview, etc.
- * The "ObjectID" will indicate the ID of the object the mouse was
- * positioned over. The ID will be -1 if no object was to be found.
-
- STRUCTURE HelpMsg,0
- APTR Handle; ; Window layout handle
- LONG ObjectID; ; ID of the object, -1 for full window
- LABEL HelpMsg_SIZEOF
-
- *****************************************************************************
-
- * Refresh hook support: you will get the following structure
- * passed as the message and a pointer to the LayoutHandle as
- * the object.
-
- STRUCTURE RefreshMsg,0
- LONG ID
- WORD Left,Top,Width,Height
- LABEL RefreshMsg_SIZEOF
-
- *****************************************************************************
-
- ; Obsolete tags, don't use in new code
- LA_Lines EQU LABX_Rows
- LA_Spread EQU LAGR_Spread
- LA_SameSize EQU LAGR_SameSize
- LA_FullCheck EQU LASL_FullCheck
- LA_ExtraLabels EQU LALV_ExtraLabels
- LA_LastGadget EQU LAFC_LastGadget
- LA_SmallPalette EQU LAPA_SmallPalette
- LA_Labels EQU LALV_Labels
- LA_Picker EQU LATX_Picker
- LA_DrawBox EQU LAFR_DrawBox
- LA_FirstLabel EQU LABX_FirstLabel
- LA_LastLabel EQU LABX_LastLabel
- LA_LabelTable EQU LABX_LabelTable
- LA_Min EQU LAFC_Min
- LA_Max EQU LAFC_Max
- LA_Link EQU LALV_Link
- LA_Menu EQU LAWN_Menu
- LA_HistoryLines EQU LAST_HistoryLines
- LA_HistoryHook EQU LAST_HistoryHook
- LA_ReturnKey EQU LABT_ReturnKey
- LA_ExtraFat EQU LABT_ExtraFat
- LA_CursorKey EQU LALV_CursorKey
- STORE_BYTE EQU TAG_USER+63
- STORE_UBYTE EQU TAG_USER+64
- STORE_WORD EQU TAG_USER+65
- STORE_BOOL EQU TAG_USER+65
- STORE_UWORD EQU TAG_USER+66
- STORE_LONG EQU TAG_USER+67
- STORE_ULONG EQU TAG_USER+68
- STORE_STRPTR EQU TAG_USER+69
- STORE_FRACTION EQU TAG_USER+68
- LH_Font EQU TAG_USER+41
- LH_AutoActivate EQU TAG_USER+42
- LH_LocaleHook EQU TAG_USER+4
- LH_CloningPermitted EQU TAG_USER+61
- LH_EditHook EQU TAG_USER+74
- LH_ExactClone EQU TAG_USER+75
- LH_MenuGlyphs EQU TAG_USER+76
- LH_Parent EQU TAG_USER+83
- LH_BlockParent EQU TAG_USER+84
- LH_SimpleClone EQU TAG_USER+90
- LH_ExitFlush EQU TAG_USER+108
- LH_UserData EQU TAG_USER+116
- LH_RawKeyFilter EQU TAG_USER+142
-
- *****************************************************************************
-
- ; kinds of objects supported in addition to the normal GadTools kinds
- HORIZONTAL_KIND EQU 45
- VERTICAL_KIND EQU 46
- END_KIND EQU 47
- FRAME_KIND EQU 48
- BOX_KIND EQU 49
- FRACTION_KIND EQU 50
- XBAR_KIND EQU 51
- YBAR_KIND EQU 52
- PASSWORD_KIND EQU 53
- GAUGE_KIND EQU 54
- TAPEDECK_KIND EQU 55
- LEVEL_KIND EQU 56
- BOOPSI_KIND EQU 57
- POPUP_KIND EQU 58
- TAB_KIND EQU 59
-
- *****************************************************************************
-
- ; in support of FRACTION_KIND gadgets
- FIXED_UNITY EQU 10000
-
- *****************************************************************************
-
- STRUCTURE LayoutHandle,0
- APTR LH_Screen;
- APTR LH_DrawInfo;
- APTR LH_Window;
- APTR LH_VisualInfo;
- APTR LH_AmigaGlyph,
- APTR LH_CheckGlyph;
- APTR LH_UserData ; Requires gtlayout.library v9 or higher
- APTR LH_Menu ; Requires gtlayout.library v13 or higher
- LABEL LayoutHandle_SIZEOF;
-
- *****************************************************************************
-
- ENDC
-